﻿using AutoMapper;
using SMARTHOTEL.hotel;
using SMARTHOTEL.Products;
using SMARTHOTEL.RoomNum;
using SMARTHOTEL.RoomTypes;
using SMARTHOTEL.Staies;
using SMARTHOTEL.StayRecords;
using SMARTHOTEL.User;
using SMARTHOTEL.Users;

namespace SMARTHOTEL;

public class SMARTHOTELApplicationAutoMapperProfile : Profile
{
    public SMARTHOTELApplicationAutoMapperProfile()
    {
        /* You can configure your AutoMapper mapping configuration here.
         * Alternatively, you can split your mapping configurations
         * into multiple profile classes for a better organization. */
        CreateMap<RoomType, RoomTypeDto>();
        CreateMap<CreateUpdateRoomTypeDto, RoomType>();
        CreateMap<CreateUpdateSortDto, Sort>();
        CreateMap<SortDto, Sort>().ReverseMap();
        CreateMap<RoomNumDto, RoomNumber>().ReverseMap();
        CreateMap<CreateUpdateRoomNumDto, RoomNumber>().ReverseMap();
        CreateMap<CreateUpdateProductLabelDto, ProductLabel>().ReverseMap();
        CreateMap<GetProductLabelDto, ProductLabel>().ReverseMap();
        CreateMap<CreateProductDto, Product>().ReverseMap();
        CreateMap<UpdateProductDto, Product>().ReverseMap();
        CreateMap<GetProductDto, Product>().ReverseMap();
        CreateMap<CreateUpdateReservationDto, Reservation>().ReverseMap();
        CreateMap<GetReservationDto, Reservation>().ReverseMap();
        CreateMap<UserDto,Users.User>().ReverseMap();

        CreateMap<CreateUpdateStayDto, Stay>().ReverseMap();
        CreateMap<StayDto, Stay>().ReverseMap();
        CreateMap<CreateUpdateStayRecordDto, StayRecord>().ReverseMap();
        CreateMap<StayRecordDto, StayRecord>().ReverseMap();
    }
}
